package com.base.component.ai.platform.baidu;

import java.io.Serializable;
import java.util.List;

import com.base.core.head.dto.ai.MessageTextDTO;
import com.gitee.magic.core.annotations.Column;

import lombok.Data;

/**
 * 
 * @author start
 *
 */
@Data
public class WxChatCompletionsAO  implements Serializable {

    private static final long serialVersionUID = 1L;

    private List<MessageTextDTO> messages;
    /**
     * true 为流式响应 null 为非流式响应
     */
    private Boolean stream;

    private Float temperature;

    /**
     * （1）影响输出文本的多样性，取值越大，生成文本的多样性越强
     * （2）默认0.8，取值范围 [0, 1.0]
     * （3）建议该参数和temperature只设置1个
     * （4）建议top_p和temperature不要同时更改
     */
    @Column("top_p")
    private Float topP;

    /**
     * 通过对已生成的token增加惩罚，减少重复生成的现象。说明：
     * （1）值越大表示惩罚越大
     * （2）默认1.0，取值范围：[1.0, 2.0]
     */
    @Column("penalty_score")
    private Float penaltyScore;

    @Column("user_id")
    private String userId;
}
